2023/12/231372字符
运算符
算数运算符
+
,-
,*
,/
,%
,++
,--
package main
import "fmt"
func main() {
var a = 10
var b = 3
fmt.Printf("%d / %d = %d\n", a, b, a / b) //--> 10 / 3 = 3
fmt.Printf("%d %% %d = %d\n", a, b, a % b) //--> 10 % 3 = 1
a++ // 并且 ++ 不能放在前面
fmt.Println(a) //--> 11
}
关系运算符
不同类型之间不能比较
==
,!=
,>
,<
,>=
,<=
逻辑运算符
&&
,||
,!
位运算符
&
,|
,^
,&^
(位清空),<<
,>>
(将数值转为二进制后,按位运算)&
: 对应值都为 1 得 1,否则为 0|
: 对应值都为 0 得 0,否则为 1^
:- 二元:对应值不同为 1,相同为 0
- 一元:按位取反
&^
:a &^ b
对于 b 的值如果为 0,取 a 上面的数值;如果为 1,取 0
/*
a: 60 0011 1100
b: 13 0000 1101
& 0000 1100
| 0011 1101
^ 0011 0001
&^ 0011 0000
*/
<<
:a << b
按位左移,将 a 向左移动 b 位>>
:a >> b
按位右移,将 a 向右移动 b 位
package main
import "fmt"
func main() {
var a = 10
/*
a: 0000 1000
<< 0010 0000
>> 0000 0010
*/
fmt.Println(a << 2) //--> 40
fmt.Println(a >> 2) //--> 2
}
赋值运算符
=
,+=
,-=
,*=
,/=
,%=
,<<=
,>>=
,&=
,|=
,^=
...